
import { Injectable } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Form, NgFormControl, NgChildForm, NgChildFormArray, NgValidateForm } from '@farris/devkit';
import { DateConverter, MultiLangConverter } from '@farris/kendo-binding';

@Injectable()
@NgValidateForm({
    formGroupName: '客户信息',
    enableValidate: true
})

@Injectable()
export class BasicFormViewmodelForm extends Form {
    @NgFormControl({
        id: 'name_b11aede6_pho5',
        name: "{{name_b11aede6_pho5}}",
        binding: 'name',
        updateOn: 'blur',
        defaultI18nValue: '姓名',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    name: FormControl;

    @NgFormControl({
        id: 'code_c4b99e6e_bau9',
        name: "{{code_c4b99e6e_bau9}}",
        binding: 'code',
        updateOn: 'blur',
        defaultI18nValue: '编号',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    code: FormControl;

    @NgFormControl({
        id: 'telephone_10f52541_xnqp',
        name: "{{telephone_10f52541_xnqp}}",
        binding: 'telephone',
        updateOn: 'blur',
        defaultI18nValue: '联系电话',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    telephone: FormControl;

    @NgFormControl({
        id: 'mailbox_d7e2647c_4b4n',
        name: "{{mailbox_d7e2647c_4b4n}}",
        binding: 'mailbox',
        updateOn: 'blur',
        defaultI18nValue: '邮箱',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    mailbox: FormControl;

    @NgFormControl({
        id: 'orCorPor_d2c967fe_2axa',
        name: "{{orCorPor_d2c967fe_2axa}}",
        binding: 'orCorPor',
        updateOn: 'change',
        defaultI18nValue: '是否法人/负责人',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            }
        ]
    })
    orCorPor: FormControl;

    @NgFormControl({
        id: 'remark_2bd3eb83_2e1z',
        name: "{{remark_2bd3eb83_2e1z}}",
        binding: 'remark',
        updateOn: 'blur',
        defaultI18nValue: '备注',
    })
    remark: FormControl;

    @NgFormControl({
        id: 'state_564e51ea_i9jy',
        name: "{{state_564e51ea_i9jy}}",
        binding: 'state',
        updateOn: 'blur',
        defaultI18nValue: '状态',
        validRules: [
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    state: FormControl;

    @NgFormControl({
        id: 'organization_261bd165_ihyx',
        name: "{{organization_261bd165_ihyx}}",
        binding: 'organization',
        updateOn: 'blur',
        defaultI18nValue: '公司',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    organization: FormControl;

    @NgFormControl({
        id: 'gender_3c69e583_1z9h',
        name: "{{gender_3c69e583_1z9h}}",
        binding: 'gender',
        updateOn: 'blur',
        defaultI18nValue: '性别',
        validRules: [
            {
                type: 'required',
                constraints: [true],
            },
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    gender: FormControl;

    @NgFormControl({
        id: 'countryOrArea_ef8e0021_d18p',
        name: "{{countryOrArea_ef8e0021_d18p}}",
        binding: 'countryOrArea',
        updateOn: 'blur',
        defaultI18nValue: '所属国家或地区',
        validRules: [
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    countryOrArea: FormControl;

    @NgFormControl({
        id: 'location_425f3376_amxc',
        name: "{{location_425f3376_amxc}}",
        binding: 'location',
        updateOn: 'blur',
        defaultI18nValue: '常驻地',
    })
    location: FormControl;

    @NgFormControl({
        id: 'idNumber_eeabce5c_ikrs',
        name: "{{idNumber_eeabce5c_ikrs}}",
        binding: 'idNumber',
        updateOn: 'blur',
        defaultI18nValue: '身份证号',
        validRules: [
            {
                type: 'matches',
                constraints: [''],
            }
        ]
    })
    idNumber: FormControl;

}